package com.woniuxy.mq.config;

import org.springframework.amqp.core.*;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

/**
 * 消息队列的配置类
 *    创建  queue1
 *    创建  queue2
 *    交换机
 *    绑定交换机 queue1
 *    绑定交换机 queue2
 */
@Configuration
public class RabbitConfig {

//    // 创建  sz.queue
    @Bean   //这个注解 添加到ioc容器的名称是 默认是方法的名称
    public Queue queue1(){
        return new Queue("sz.queue");
    }
//    // 创建  gz.queue
//    @Bean
//    public Queue queue2(){
//        return new Queue("gz.queue");
//    }
//
//    //交换机
    @Bean
    public DirectExchange directExchange(){
        return new DirectExchange("direct.exchange");
    }
//
//    //绑定交换机 sz.queue
//
//    /**
//     * spring 容器会根据 参数 进行正常的匹配
//     * @param fanoutExchange
//     * @param queue1
//     * @return
//     */
    @Bean
    public Binding binding1(DirectExchange directExchange, Queue queue1){
        //把 queue1  和 交换机 exchange 绑定
        return BindingBuilder.bind(queue1).to(directExchange).with("sz.key");
    }
//
//    //绑定交换机 gz.queue
//    @Bean
//    public Binding binding2(DirectExchange directExchange, Queue queue2){
//        //把queue2  和 交换机 exchange 绑定
//        return BindingBuilder.bind(queue2).to(directExchange).with("gz.key");
//    }

}